#include"util.hpp"
#include"data.hpp"
#include"server.hpp"

void FileTest()//创建http root文件目录和index.html
{
    aod::FileUtil("./wwwroot").CreateDirectory();
    aod::FileUtil("./wwwroot/index.html").ReadContent("<html></html>");
    
    if(aod::FileUtil("./wwwroot/index.html").Exists())
    {
        std::string content;
        aod::FileUtil("./wwwroot/index.html").GetContent(&content);
        std::cout<<content<<std::endl;
        std::cout<<aod::FileUtil("./wwwroot/index.html").Size()<<std::endl;
    }
}

void JsonTest()
{
    Json::Value val;
    val["name"]="liu";
    val["age"]=18;
    val["sex"]="man";
    val["sorce"].append(70);
    val["sorce"].append(80);
    val["sorce"].append(90);
    std::string body;
    aod::JsonUtil::Serialize(val,&body);
    std::cout<<body<<std::endl;

    Json::Value stu;
    aod::JsonUtil::UnSerialize(body,&stu);
    std::cout<<stu["name"].asString()<<" "<<stu["age"].asString()<<" "<<stu["sex"].asString()<<std::endl;
    for(auto& s:stu["sorce"])
    {
        std::cout<<s.asFloat()<<std::endl;
    }
}

void DataTest()
{
    aod::TableVideo tbv;
    Json::Value val;
    // val["name"]="你猜这是啥";
    // val["info"]="一部电影";
    // val["video"]="/video/move.mp4";
    // val["image"]="/image/mode,jpg";
    // tbv.Insert(&val);
    // val["name"]="葫芦娃";
    // val["info"]="葫芦娃救爷";

    // tbv.Update(1,val);

    // std::string body;
    // tbv.SelectLike("葫芦娃",&val);
    // aod::JsonUtil::Serialize(val,&body);
    // std::cout<<body<<std::endl;
    tbv.Delete(2);
   
}

void ServerTest()
{
    aod::Server server(9090);
    server.RunModule();
}

int main()
{
    Deamon(false,false);

    // FileTest();
    // JsonTest();
    // DataTest();
    ServerTest();
    return 0;
}